package semantic;

import semantic.analyzer.GodAnalyzer;
import semantic.model.ExpressionNode;
import semantic.model.PrimaryExpressionNode;
import semantic.model.PropertyCallNode;
import semantic.model.UndefinedExpressionNode;

public class SemanticAnalyzer {

	public ExpressionNode createExpressionNode(String type, String value) {
		return new ExpressionNode(type, value);
	}

	public PrimaryExpressionNode createPrimaryExpressionNode(
			ExpressionNode expNode, PropertyCallNode propertyCallNode) {
		if (GodAnalyzer.godFlag) {
			if (expNode != null) {
				expNode = new UndefinedExpressionNode(expNode.getValue());
			} else {
				expNode = new UndefinedExpressionNode();
			}
		}
		return new PrimaryExpressionNode(expNode, propertyCallNode);
	}

}
